/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.view;

import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.its.dsw2.biblioteca.Modelo.Libro;
import mx.its.dsw2.biblioteca.Modelo.Prestamo;
import mx.its.dsw2.biblioteca.Modelo.Usuario;



import mx.its.dsw2.biblioteca.bl.LibroBlLocal;
import mx.its.dsw2.biblioteca.bl.PrestamoBlLocal;
import mx.its.dsw2.biblioteca.bl.UsuarioBlLocal;

/**
 *
 * @author franciscojavier
 */
@ManagedBean
@SessionScoped
public class PrestamoBean {
    @EJB
    private UsuarioBlLocal usuarioBl;
    @EJB
    private LibroBlLocal libroBl;
    @EJB
    private PrestamoBlLocal prestamoBl;
    
    
   
     private List<Prestamo> lista;
     private Prestamo prestamo;
     private int idUsuarioSeleccionado;
     private List <Libro> listaLibros;
     private String claveLibro;
     private boolean visible=false;
     private Usuario user;
     private String accion;

    /**
     * Creates a new instance of PrestamoBeans
     */
    public PrestamoBean() {
        prestamo=new Prestamo();
        listaLibros=new ArrayList<Libro>();
    }

    public Usuario getUser() {
        return user;
    }

    public void setUser(Usuario user) {
        this.user = user;
    }

    public boolean isVisible() {
        return visible;
    }

    public void setVisible(boolean visible) {
        this.visible = visible;
    }

    public List<Prestamo> getLista() {
         lista = prestamoBl.getAll(); 
    return lista;
        
    }

    public void setLista(List<Prestamo> lista) {
        this.lista = lista;
    }
    
    
    public Prestamo getPrestamo() {
        return prestamo;
    }

    public void setPrestamo(Prestamo prestamo) {
        this.prestamo = prestamo;
    }

    public int getIdUsuarioSeleccionado() {
        return idUsuarioSeleccionado;
    }

    public void setIdUsuarioSeleccionado(int idUsuarioSeleccionado) {
        this.idUsuarioSeleccionado = idUsuarioSeleccionado;
    }

    public List<Libro> getListaLibros() {
        return listaLibros;
    }

    public void setListaLibros(List<Libro> listaLibros) {
        this.listaLibros = listaLibros;
    }

    public String getClaveLibro() {
        return claveLibro;
    }

    public void setClaveLibro(String claveLibro) {
        this.claveLibro = claveLibro;
    }
    
    public void agregarLibro(ActionEvent evt){
        Libro l=libroBl.FindBookForLend(claveLibro);
        if(l!=null){
            listaLibros.add(l);
        }
    }
    
    public void mostarContenido(ActionEvent evt){
        visible=true;
        user=usuarioBl.findById(idUsuarioSeleccionado);
    }
     public void preparNuevo(ActionEvent evt) {
        prestamo = new Prestamo();
        accion="nuevo";
    }

     public String marrirris() {
        String h = "quiero ir a chapala";
        if (accion.equalsIgnoreCase("Nuevo")) {
            Prestamo p = new Prestamo();
            p.setIdUsuario(user);
            prestamoBl.register(p, listaLibros);
            h = "PrestamoLista";
        } else if (accion.equalsIgnoreCase("Editar")) {
            h = "PrestamoCrearEditar";
        } else if (accion.equalsIgnoreCase("Eliminar")) {
            h = "PrestamoLista";
        }

        accion = "";
        return h;
    }
      public void eliminar(ActionEvent evt){
        accion="eliminar";
        int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
        prestamo = lista.get(index);
        
    }
}
